]> dgit.raspbian.org Git - linux-4.9.git/commit
fiq_fsm: Use correct states when starting isoc OUT transfers (#1991)
authorP33M <P33M@users.noreply.github.com>
Thu, 4 May 2017 13:56:08 +0000 (14:56 +0100)
committerpopcornmix <popcornmix@gmail.com>
Thu, 4 May 2017 13:56:08 +0000 (14:56 +0100)
commite1b1d822c7a3cdfb9def9e30c52e2b5aac819fe7
tree3776239e6a2abcb2c50ced0b71677306352cbc73
parente096c44303461e2df4b9f6973e1ff66e13709201
fiq_fsm: Use correct states when starting isoc OUT transfers (#1991)

* fiq_fsm: Use correct states when starting isoc OUT transfers

In fiq_fsm_start_next_periodic() if an isochronous OUT transfer
was selected, no regard was given as to whether this was a single-packet
transfer or a multi-packet staged transfer.

For single-packet transfers, this had the effect of repeatedly sending
OUT packets with bogus data and lengths.

Eventually if the channel was repeatedly enabled enough times, this
would lock up the OTG core and no further bus transfers would happen.

Set the FSM state up properly if we select a single-packet transfer.

Fixes https://github.com/raspberrypi/linux/issues/1842
drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c